package com.xnyzc.lhy.order.service.impl.oss;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.xnyzc.lhy.common.entity.Rv;
import com.xnyzc.lhy.common.util.CheckUtil;
import com.xnyzc.lhy.order.service.oss.IOaFileService;
import com.xnyzc.lhy.order.service.oss.IOaOssFileClientService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @Description
 * @Author Bin
 * @Date 2019/8/16 16:26
 **/
@Service
public class OaFileServiceImpl implements IOaFileService {

    @Autowired
    private IOaOssFileClientService iOaOssFileClientService;

    /**
     * 获取文件url
     *
     * @param fileId 文件id
     * @return
     */
    @Override
    public String getFileUrl(Long fileId) {
        return this.getdriverPhoto(fileId);
    }

    /**
     * 获取头像
     *
     * @param fileId 文件id
     * @return
     */
    private String getdriverPhoto(Long fileId) {
        Rv<Object> rv = iOaOssFileClientService.getFileUrl(fileId);
        if (CheckUtil.objIsEmpty(rv)) {
            return "";
        }
        JSONObject jsonObject = JSON.parseObject(rv.toString());
        if (CheckUtil.objIsEmpty(jsonObject)) {
            return "";
        }
        String dataStr = jsonObject.getString("data");
        if (CheckUtil.strIsEmpty(dataStr)) {
            return "";
        }
        if (dataStr.indexOf('{') == -1) {
            return "";
        }
        JSONObject data = JSON.parseObject(dataStr);
        if (CheckUtil.objIsEmpty(data)) {
            return "";
        }
        String fileUrl = data.getString("fileUrl");
        if (CheckUtil.strIsEmpty(fileUrl)) {
            return "";
        }
        return fileUrl;
    }

    /**
     * 获取头像
     *
     * @param fileId 文件id
     */
//    private Qd getdriverPhoto(String fileId) {
//        Qd qd = Qd.create().add("fileUrl", "").add("fileId", "");
//        Rv<Object> rv = iOaOssFileClientService.getFileUrl(Long.valueOf(fileId));
//        if (CheckUtil.objIsEmpty(rv)) {
//            return qd;
//        }
//        JSONObject jsonObject = JSON.parseObject(rv.toString());
//        if (CheckUtil.objIsEmpty(jsonObject)) {
//            return qd;
//        }
//        String dataStr = jsonObject.getString("data");
//        if (CheckUtil.strIsEmpty(dataStr)) {
//            return qd;
//        }
//        if (dataStr.indexOf("{") == -1) {
//            return qd;
//        }
//        JSONObject data = JSON.parseObject(dataStr);
//        if (CheckUtil.objIsEmpty(data)) {
//            return qd;
//        }
//        String fileUrl = data.getString("fileUrl");
//        String newFileId = data.getString("fileUrl");
//        if (CheckUtil.strIsEmpty(fileUrl)) {
//            return qd;
//        }
//        qd.add("fileId",)
//        return qd;
//    }


}
